|
Emplacement du menu |
---|
Surface → Sections... |
Ateliers |
Surface |
Raccourci par défaut |
Aucun |
Introduit dans la version |
0.19 |
Voir aussi |
Aucun |
Surface Sections est utilisé pour créer une surface à partir d'arêtes qui représentent des sections transversales d'une surface.
À gauche : les arêtes de contrôle (coupes transversales). À droite : la surface produite à partir de ces arêtes.
Les Surface Sections (classe Surface::Sections
) sont dérivées de la classe de base Part Feature (classe Part::Feature
via la sous-classe Part::Spline
). Elles partagent donc toutes les propriétés de cette dernière.
Outre les propriétés décrites dans Part Feature, Surface Section a les propriétés suivantes dans l'éditeur de propriétés.
Sections
LinkSubList
) : une liste d'arêtes qui seront utilisées pour construire la surface.
Base
Bool
) : par défaut false
. Mis à true
, elle affichera une superposition avec les points de contrôle de la surface.
La forme de la surface dépend de la direction des arêtes choisies. Si des arêtes sont sélectionnées et que le résultat est une surface qui "se tord" sur elle-même, l'une des arêtes peut avoir besoin de sa liste de sommets dans l'ordre inverse. Voir les informations dans Surface Remplir entre les courbes limites pour une explication plus complète.
Voir aussi : FreeCAD Script de base.
L'outil Surface Sections peut être utilisé dans des macros et depuis la console Python en ajoutant l'objet Surface::Sections
.
NSections
de l'objet.import FreeCAD as App
import Draft
doc = App.newDocument()
pl1 = App.Placement()
obj1 = Draft.make_circle(50, placement=pl1, face=False, startangle=0, endangle=180)
pl2 = App.Placement(App.Vector(0, 0, 25), App.Rotation())
obj2 = Draft.make_circle(30, placement=pl2, face=False, startangle=0, endangle=180)
points3 = [App.Vector(18, -10, 50),
App.Vector(12, 10, 50),
App.Vector(-12, 10, 50),
App.Vector(-18, -10, 50)]
obj3 = Draft.make_bspline(points3)
points4 = [App.Vector(15, -20, 100),
App.Vector(0, 6, 100),
App.Vector(-15, -20, 100)]
obj4 = Draft.make_bspline(points4)
doc.recompute()
surf = doc.addObject("Surface::Sections", "Surface")
surf.NSections = [(obj1, "Edge1"),
(obj2, "Edge1"),
(obj3, "Edge1"),
(obj4, "Edge1")]
doc.recompute()